package com.zbkj.service.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zbkj.common.model.monitor.ZfbMonitorDeviceBind;
import com.zbkj.common.request.ZfbMonitorDeviceBindRequest;
import com.zbkj.common.request.ZfbMonitorDeviceUnbindRequest;
import com.zbkj.common.response.ZfbOrderMonitorDataResponse;
import com.zbkj.common.response.monitor.BfDeviceInfoResponse;

import java.util.List;

/**
* @author dazongzi
* @description ZfbMonitorDeviceBindService 接口
* @date 2025-06-09
*/
public interface ZfbMonitorDeviceBindService extends IService<ZfbMonitorDeviceBind> {
    /**
     * 绑定蓝牙网关到监控上
     *
     * @param zfbMonitorDeviceBindRequest
     * @param merId
     * @return
     */
    boolean bindDeviceToMonitor(ZfbMonitorDeviceBindRequest zfbMonitorDeviceBindRequest, Integer merId);

    void updateRefreshTime(String imei, String mac);

    List<ZfbOrderMonitorDataResponse> getOrderMonitorList(String orderNo);

    List<ZfbMonitorDeviceBind> getMonitorList(String orderNo);

    /**
     * 解绑
     * @param zfbMonitorDeviceBindRequest
     * @param merId
     * @return
     */
    boolean unbind(ZfbMonitorDeviceUnbindRequest zfbMonitorDeviceBindRequest, Integer merId);

    void updateStatus(String imei, String outMac, String res);

    BfDeviceInfoResponse getBfDevice(String license, Integer merId);

    List<ZfbMonitorDeviceBind> getListInLicense(List<String> licenseList, Integer id);

}